//题目描述
//九九乘法表是学习乘法时必须要掌握的。在不同进制数下，需要不同的乘法表。
//例如, 四进制下的乘法表如下所示：
//1 * 1 = 1
//2 * 1 = 2 2 * 2 = 10
//3 * 1 = 3 3 * 2 = 12 3 * 3 = 21
//请注意，乘法表中两个数相乘的顺序必须为样例中所示的顺序，不能随意交换两个乘数。
//给定 P，请输出 P 进制下的乘法表。
//输入格式
//输入一个整数 P。
//输出格式
//输出 P 进制下的乘法表。P 进制中大于等于 10 的数字用大写字母 A、B、C、⋯ 表示。
//输入输出样例
//输入 
//4
//输出 
//1 * 1 = 1
//2 * 1 = 2 2 * 2 = 10
//3 * 1 = 3 3 * 2 = 12 3 * 3 = 21
//输入 
//8
//输出 
//1 * 1 = 1
//2 * 1 = 2 2 * 2 = 4
//3 * 1 = 3 3 * 2 = 6 3 * 3 = 11
//4 * 1 = 4 4 * 2 = 10 4 * 3 = 14 4 * 4 = 20
//5 * 1 = 5 5 * 2 = 12 5 * 3 = 17 5 * 4 = 24 5 * 5 = 31
//6 * 1 = 6 6 * 2 = 14 6 * 3 = 22 6 * 4 = 30 6 * 5 = 36 6 * 6 = 44
//7 * 1 = 7 7 * 2 = 16 7 * 3 = 25 7 * 4 = 34 7 * 5 = 43 7 * 6 = 52 7 * 7 = 61
//说明 / 提示
//对于所有评测数据, 2≤P≤36。
#include<bits/stdc++.h>
using namespace std;
int p;
string up(int x,int y) {//将x转换成y进制
	string s;
	while (x) {
		int a= x % y;
		if (a < 10)s += a + '0';
		else s += a - 10 + 'A';//大于10的用大写字母A,A、B、C、⋯表示
		x /= y;
	}
	reverse(s.begin(), s.end());//倒置字符串，因为进制转换规则
	return s;
}
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	 cin >> p;
	for (int i = 1; i < p; i++) {
		
		for (int j = 1; j <= i; j++) {
				cout << up(i,p) << "*" << up(j,p) << "=" << up(i * j,p) << ' ';
			
		}
		cout << "\n";
	}
	return 0;
}
